PART FOUR - FINISHING YOUR MAP

Adding more players to the basic 2-player (1v1) map.

As has already been mentioned in this primer, Homeworld maps needs an entire set of map files for each number of start positions in the map. This means that when you make a map for 2-4 players you will have to make three versions of the map: one for two players, one for three players and one for four players. Each Folder is a stand-alone map in its own right and can be used as such.

The changes between versions are relatively minor involving changes to the folder name, the level files, and the Mothership_#.missphere files. Other changes can be made as needed to any of the other files that make up the map.

According to TAKER, this means that you should always start your map by editing the version with the most number of players that you will make starting positions for. Now, if you have been following the Tutorial then you are probably thinking "WhatwhatWhaaaat!!?? I've been spending all this time making a two-player version! What the smeg is going on!?" Well, personally, I always draw out my maps on graph paper first and so have a pretty good idea of where I want all the players to start. And, I like to see the map with all (or most of) the resources in place before I begin adding any players. Even for the two player I have a habit of shifting the first player mothership around so I start on the map right next to what I want to see etc. Meaning the addition of the player Mothership files is usually the last thing I do.

The Map Folder

Each folder will contain a different number of Mothership_#.missphere files, one for each player that that folder stipulates. The only difference between all the folders that make up the map is the number of players each folder supports, otherwise the name is exactly the same (Remember; Case is important) the difference between folder names is the number at the end of its name. Example;

'Revelations2' - this is for two players only, and as such will contain two Mothership files.
'Revelations3' - for three players and will contain three Mothership files.
'Revelations4' - for four players and will contain four Mothership files.
etc

Two players is the minimum amount of players for a multiplayer map, you can't have a One-player version folder. The maximum number of players Homeworld can support is Eight, meaning that there will be a maximum of Seven folders for any given map. 
The Description.txt file

The Description.txt file needs only be copied from your original version of your map. Changes in this file appear not to be recognised and as such would be superfluous for your map. These files are needed though, remember that each map has to be able to stand alone as a map in its own right, so all the files that go into making up your map has to be in all the map folders.

The level file

As we have already covered, the level file has to have the same name as the folder it resides in, so if you had a map folder called Revelation2, then Revelations2.level would reside therein. A three player version of the same map would be in the Revelations3 folder and contain a level file called Revelations3.level and so on.

The third line of text in the level file names the folder remember, and so needs to be changed, I am referring to the line; '; Multiplayer Level:   Revelations2', The 'Revelations2' tag tells us that this is from a folder called 'Revelations2' etc.

The level file also deals with the Mothership_#.missphere files and tells homeworld where to look for each players Mothership file; for a three player map there will be three of these lines regarding the three Mothership files that will be in the 3 player folder. And so on. 

If you name an alternate background in this file (and there is a growing number to choose from) then these need to be included in all folders. Each folder contains a stand alone blahblahblah..
 
-------------------------------------------------------------

Tutorial Map Part Nineteen

Lots to do here so I will take it step by step. We have already set up all the extra folders needed for our Revelations map, in 'Tutorial Map Part One' So let's work our way through the files, adding and modifying as we go along.

1. Copy the description.txt file from your 'Revelations2' folder into all the other 'Revelations#' folders. 
2. Copy the 'Revelations2.level' file from your 'Revelations2' folder into your 'Revelations3 folder'. 
3. Rename the 'Revelations2.level' file to match the folder it resides in, i.e. 'Revelations3.level' Open up this new 'Revelations3.level' file in your 'Revelations3' folder, the top 10 lines of the file look like this at the moment;

; MissionMan script, Friday, Sep 3 1999, 12:15:09 PM
; Copyright (c) 1998-99, Relic Entertainment Inc.
; Multiplayer Level: Revelations2
; Info: Revelations (2-6)

[Revelations (2-6)]

MissionSphere    -1,?,ResourceSphere,0.0,0.0,0.0,30000.0,0.0,ResourceSphere_1.missphere,1000
MissionSphere    0,R1,Mothership,0.0,0.0,0.0,30000,0.0,Mothership_0.missphere,1000
MissionSphere    1,R2,Mothership,0.0,0.0,0.0,30000.0,0.0,Mothership_1.missphere,1000

Rename the Multiplayer level part to match the folder name, in this case its just the simple change of the '2' to a '3'. Next, copy the last MissionSphere line and paste a copy on the line directly below. Change the playerNumber value from 1 to 2, the race (if you want) to R1 and the Contents (the Mothership file name) to Mothership_2.missphere. These lines should now look like this;

; MissionMan script, Friday, Sep 3 1999, 12:15:09 PM
; Copyright (c) 1998-99, Relic Entertainment Inc.
; Multiplayer Level: Revelations3
; Info: Revelations (2-6)

[Revelations (2-6)]

MissionSphere    -1,?,ResourceSphere,0.0,0.0,0.0,30000.0,0.0,ResourceSphere_1.missphere,1000
MissionSphere    0,R1,Mothership,0.0,0.0,0.0,30000,0.0,Mothership_0.missphere,1000
MissionSphere    1,R2,Mothership,0.0,0.0,0.0,30000.0,0.0,Mothership_1.missphere,1000
MissionSphere    2,R2,Mothership,0.0,0.0,0.0,30000.0,0.0,Mothership_2.missphere,1000

4. Repeat this for all in all the Revelations# folders, adding the level file and ensuring it contains the relevant numbers of MissionSphere lines naming the extra player MissionSphere files. 

The biggest change here is the addition of further MissionSpheres lines to each incremental level file, but this example shows how simple this is. Take note though, we have now added a third player to the Revelations3 map and homeworld will read this new third line and go looking for the file called 'Mothership_2.missphere'. Meaning of course, that we need to create that whole new Mothership file to deal with this extra players starting fleet and its location. More on that in the next part of this tutorial.

5. For our map we have added a new background as opposed to the default types available within the Homeworld.big file itself. We have added the background and lighting files called 'Downslope.btg' and 'Downslope.hsf' respectively, and so these need to be copied into each map folder (each folder must be able to stand alone as a map remember). Copy these two files into each Revelations# folder

-------------------------------------------------------------


The Mothership_#.missphere files.

Each map folder name tells us at a glance just how many players that folder supports. It therefore tells us how many Mothership_#.missphere files are to be found in that folder. The level file in that folder will list (in the MissionSphere lines) what each players Mothership file is called, and Homeworld will seek out that file for the starting fleets and their locations for each player.

So, taking as an example a four player version of any given map, its level file will list 5 'Missphere' lines pointing to 5 different missphere files; one ResourceSphere file and four Mothership files, i.e.; 

ResourceSphere_1.missphere
Mothership_0.missphere
Mothership_1.missphere
Mothership_2.missphere
Mothership_3.missphere

As all these files are named in the 4 player map version they will be found in the 4-player map folder. Changes can be made to these files without fear of consequence, the locations and composition of all the resources and the player starting fleets can be changed with each map, just be careful that if you rename a file you rename the contents part of the MissionSphere line to match.

 
-------------------------------------------------------------

Tutorial Map Part Twenty - The Penultimate Part!

In our folders we need to add the correct number of Mothership#.missphere files. Lets start with Revelations3.

Copy all the MissionSphere files from Revelations2 into Revelations3, now copy and paste one of the Mothership_#.missphere files, renaming it Mothership_2.missphere (as we have named it in the Revelations3.level file in Tutorial Map Part Eighteen). Done that? Ok, lets open up all three Mothership_#.missphere files.

For our three player map we are going to shift about all three starting locations. We are going to place them around the central sphere of dust containing the Research Station, at the cardinal points of an equilateral triangle, keeping the player starting distances equidistant.

We want each player to start 50km (a value of '50000') from the centre of the map, so it's a matter of working out the end point of three lines, each line rotated 120 from the last. All this trigonometry is better covered in the two html files ('Trigonometry or Trig Math' and 'Trigonometry a Crash Review') in the 'Further Help Texts' folder included with this primer. 

Personally, I use MS Excel, specifically 'Dylov's Homeworld MSExcel Mapper' where on the 'Distances' sheet I can just type in the distance from the centre and then save the results. These results are preformatted on the 'LevelfileFFA' sheet, and I saved that sheet as a 'comma delimited file' (*.csv), and then it's a simple matter of copying and pasting. I have included the 'LevelfileFFA.csv' that I'm talking about here, in the 'Tutorial Map Files' folder, open it up (it's a text file) and you can see what I outputted from MS Excel after typing in that one number. 

Use the LevelfileFFA.csv file to supply the starting co-ordinates for each Mothership_#.missphere file and using this file you can simply copy and paste to each relevant file. Use this for the Mothership files for the three-player and four-player versions of your map, and stop there.

Ok. Remember we said we would have a player directly above and one directly below? You Do? Cool! Copy the three Mothership files from the folders 'Revelations3' to 'Revelations5'. Now we need to create Player 4 (Mothership_3.missphere), and the co-ordinates will be '0,50000,0'. Now, copy the three Mothership files from the folders 'Revelations4' to 'Revelations6', also copy the new Mothership_3.missphere file from the 'Revelations5'folder and rename it Mothership_4.missphere, then copy this file renaming it Mothership_5.missphere and set its co-ordinates to '0,-50000,0'.

Note; This is most easily done using 'TextPad' which supports the multiple file editing and easy interchange between each file you have open. See Appendix IV for the URLs for both TextPad and The Homeworld MS Excel Mapper. Both are quite big and in the interests of size (coupled with the fact that you may not have access to Excel, nor be inclined to use TextPad) I have not included them with this primer.

-------------------------------------------------------------



The ResourceSphere_#.missphere file and its Distribution files

ResourceSphere 

The level file names the ResourceSphere file used in the map. You can easily copy the Resourcesphere file directly from the previous folders, just be careful that if you renamed the contents part of the MissionSphere line, you rename the file it points at.

There is nothing stopping you add more resources for your higher player number maps, indeed it is a commonly done thing, you need only look at 'Hyperspace arena' and 'Lughnassad' for examples of this.

As an example I will discuss 'Lughnassad' and my reasons for doing this. 

In this map I originally had three of the Traders Mining Base's (from the singleplayer mission 'Bridge of Sighs') in a huge cluster of asteroids. I wanted each Mining Base to give the impression that it was actively mining so I added huge tails of dustclouds behind them. dustclouds have higher RU values than the asteroids, also these dustclouds I made denser and had them regenerate faster than the asteroids so they would be focal points for the players to fight over. 

After I had done this I decided that for a two-player game having three of these Mining Bases would be a bit overwhelming, so I decided to cut them down a little. I renamed the ResourceSphere file containing the three Mining Bases and their mined dustcloud tails from 'ResourceSphere_1.missphere' to 'ResourceSphere_3.missphere'. I then deleted one of the Mining Bases and its attendant dustcloud and saved the file as 'ResourceSphere_2.missphere'. Lastly I deleted two of the mining bases/dustclouds leaving just the one and saved this file as 'ResourceSphere_1.missphere'. 

So, I ended up with three Resource files, I used 'ResourceSphere_1.missphere' for the two and three-player version of the map, 'ResourceSphere_2.missphere' for the four, five and six-player version, and lastly, used 'ResourceSphere_3.missphere' for the seven and eight player version.

All I had to do then, was make sure that each in each level file, I had the contents part of the MissionSphere Resources line named correctly. And that I had actually copied the correct files into the correct folders.

The 64k-WON Limit

The ResourceSphere can be no bigger than 64k to allow downloading over WON. Any bigger and it won't be able to be passed over WON, all players will need to have downloaded and installed the game prior to starting. This is easily fixed. You need to split your resources over two ResourceSphere files and call them for example; 'ResourceSphere_1.missphere' and 'ResourceSphere_2.missphere'. Make sure that you add an extra 'MissionSphere' line in all your level files, pointing to this new ResourceSphere and just make sure that both are in all your folders. 

Distribution files

Distribution files also can be changed, The distribution files you have may be too light for a 8-player map when they are just right for the 2 player version. As I keep iterating, each folder that makes up a multiplayer map is a strand-alone map and so there is nothing stopping you tweaking the ratios of each asteroid type. Just be sure that if you change the name of the distribution file or add more in, then the ResourceSphere file has the correct distribution file(s) named, matching those you are using in that map version.

This also goes for the regeneration of clusters using the 'regrow' property, (2048) there is nothing stopping you make resources clusters regenerate in only the higher player games. Or regenerate at different rates depending on player numbers. Whatever.

-------------------------------------------------------------

Tutorial Map Part Twenty One - The Final Part!

If you have not already done so, copy the 'ResourceSphere_1.missphere' from Revelations2 into all the Revelations# folders. In Revelations3 folder, open up the ResourceSphere file.

Now, we wanted each player to begin in his/her own sphere of asteroids, the focal points for our Revelations map are going to be each players starting point. So, we need to add the sphere for the third player as well as move the two existing spheres so they are centred on players One and Two (we moved these players in 'Tutorial Map Part Nineteen' didn't we?).

 Its then a simple matter of copying all six lines that make up each players own little cluster, so, we have three of these six-line clusters, then from the Mothership#.missphere files in this folder, we use the player start co-ordinates as the co-ordinates for each cluster, copy and paste until you have your three clusters sitting at the correct co-ordinates

As for the Distribution files we are not going to bother changing them, as all the clusters are localised and regenerate at one helluva rate. Just copy all three distribution files (Asteroid.dist, DustCloud.dist and Tiny.dist) into all your Revelations# folders.

Your ResourceSphere in the Revelations3 folder should now have three clusters looking like this;

Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,0.0,0.0,2048,1
Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,45.0,45.0,2048,1
Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,0.0,0.0,2048,1
Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,45.0,45.0,2048,1
Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,0.0,0.0,?,?
Resources    Asteroid,26162.0,45313.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,45.0,45.0,?,?

Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,0.0,0.0,2048,1
Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,45.0,45.0,2048,1
Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,0.0,0.0,2048,1
Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,45.0,45.0,2048,1
Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,0.0,0.0,?,?
Resources    Asteroid,-52323.0,0.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,45.0,45.0,?,?
 
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,0.0,0.0,2048,1
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Asteroid.dist,16,6000.4,12000.8,45.0,45.0,2048,1
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,0.0,0.0,2048,1
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Asteroid.dist,16,8000.4,16000.8,45.0,45.0,2048,1
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,0.0,0.0,?,?
Resources    Asteroid,26162.0,-45313.0,0.0,Cylinder,Tiny.dist,30,10000.4,22000.8,45.0,45.0,?,?

Ok, now you've done this, repeat this exercise for the four-player version. 

Once you have done that, copy the 'ResourceSphere_1.missphere' file from the 'Revelations3' folder into the 'Revelations5' folder and add two more of these 6-line clusters at co-ordinates '0,5000,0' and '0,-50000,0'. Now copy the 'ResourceSphere_1.missphere' file from the 'Revelations4' folder into the 'Revelations6' folder, open up the 'ResourceSphere_1.missphere' file from Revelations5 and copy the last two clusters you created (the clusters at co-ordinates '0,5000,0' and '0,-50000,0'), paste them into your Six-Player version of the 'ResourceSphere_1.missphere' file.

And you have done it.

Congratulations! Away you go and dance the 'Jig of Maply Creation' for you have completed your First map! Waaaaay! Three cheers! Ra! Ra! Ra! Big smiles all round and a hearty pat on the back for you. Play your new map, feel good about yourself! Tell your nearest and dearest how wonderful you are. For now you know pretty much everything there is to know about maply creation!

-------------------------------------------------------------

 Tweaks and Final Touches

Ok, you are finished your map. Are you happy? Now is the time to tweak. Perhaps it needs denser or lighter cluster of asteroid? Perhaps you would like derelicts floating around? Perhaps the players need jiggled about or swapped around? Do the ResourceSphere files need to be split so they don't exceed the 64k-WON limit? Is the sensor manager max/min zooms fine for your map? And so on. As far as I'm concerned; 'a good map is never finished its just abandoned'

If you have been following the tutorial and are now in possession of a fine map entitled 'Revelations' then looking at it in the state it is in now, the version included with this primer, there are a whole number of things I feel could make it a better map. I'm not going to tell you as you know pretty much everything now, and you probably have your own ideas about what could improve the map 'waddaya mean by 'Select all and the hit delete!?'.

Well, that's pretty much everything I can tell you about map making for Homeworld. If you are stuck at any part or not clear on specific details then there are a number of things you can do;

 Experiment! It's a doddle to swap between windows and homeworld to see your changes, you only ever would need to reload Homeworld when you add new folders into the multiplayer folder. And of course, when it crashes.
 Ask! If you have a specific problem with your map and the above resources do not seem to help at all, post it to the Relic Editing boards and I am sure that one of us will do our best to help you. 
 Look at other maps! This is my favourite, I am always looking to see how the others do thing, and grubbing about in every file I can lay my hands on. 

All that's left is what you do now, once you have finished your map.

Once You Have Finished Your Map 

Test your map in all possible permutations or at least be aware of these permutations and that they will work fine. By this I'm talking about playing it for every amount of players it supports. Try moving the Mothership files around (simply renumbering the 'PlayerNumber' parameter in the level file MissionSphere lines), try to start the game using every Mothership file for yourself.

Try to get in as many full games against the computer on your map as you can be bothered with. Try at least one game using every possible number of players (preferably more than the one game). 

Play it over WON. Let everybody know that's it's a beta and encourage feedback.

Stick all the folders that comprise your map in a new folder named after your map, add a Readme file and zip it up. (You need to have either WinRAR, or WinZip for this. If you don't have it then I don't believe you). Send it to as many people as you can and have them play it, encouraging feedback. If you can't play over WON, send it to some other people, and have them play it over WON.

When you are happy, and everybody who's opinion you value is happy, (I tend to ignore feedback from people who start every game with 9999 resource injections, I mean anyone can make pretty scenery). Send it to BPLlama at BPLlama@Canada.com and ask him nicely to post it on his site just header the email with 'HWMap Submission'.

Don't fret too much about updating your map. If you have prepared adequately enough before hand any changes would be more than likely the feedback from a much greater test group and more than likely be a game-play issue resulting from all this game play.

The Readme.txt file is not too important unless there are issues on your map than need to be conveyed and you need more space than is possible with the Description Box in Homeworld. Just copy any you already have, If you've downloaded 'Genesis 240D' then you will already have one, which's the one I copied.
And so it ends

And thats it ladies and gentlemen. I sincerely hope it helped set you on your way to making maps for Homeworld. Well, as for me I'm off to see the world so will sadly not around to answer any questions on the primer, or more specifically on map making and stuff. I leave you in the very best of hands though; Shin, Hellhawk666, TAKER, Obithrawn and BPLlama can all be found on the Relic Editing Board and what they don't know about this stuff ain't worth knowing. If Backgrounds are your thing, speak to /Downslope\, he's your man on that stuff. They will hopefully perform any updates changes or additions required of this document. I would love to be able to see their faces when they read that.

I can always be found at dylov@hotmail.com if you want to sing your praises or scream bloody murder on a crappy product. Fare ye Well folks, and Happy Map Making!

Dylov (aka Andrew Finn)




